1
От прямых вызовов API к абстракции LangChain
AI010Lesson 5
00:00

За пределами простого запроса

Когда начинают работать с крупными моделями языков (LLM), разработчики обычно используют прямые вызовы API (например, библиотеку Python от OpenAI), чтобы отправить запрос и получить результат. Хотя это работает, такой подход становится неуправляемым по мере масштабирования приложений.

Проблема безгосударственности

Крупные модели языка по своей сути безгосударственные. Каждый раз, когда вы отправляете сообщение, модель «забывает», кто вы и что вы говорили ранее. Каждое взаимодействие — это чистый лист. Чтобы поддерживать диалог, вам необходимо вручную передавать всю историю общения модели каждый раз.

Решение от LangChain

LangChain представляет собой ChatOpenAIобёртку модели. Это не просто обёртка ради обёртки — это основа для модульности. Абстрагируя вызов модели, мы можем позже заменить модели, внедрить память и использовать шаблоны, не переписывая весь код.

Сценарий пирата
Представьте, что клиентское письмо написано на сленге «пиратского стиля». Чтобы перевести его в формальный корпоративный ответ, прямой вызов API требует жёсткой привязки инструкций. С помощью LangChain мы отделяем «стиль» (пиратский против формального) от «содержания» (письма), используя абстракцию.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why do we say LLMs are "stateless"?
They do not have access to the internet.
They cannot generate the same response twice.
They do not inherently remember previous messages in a conversation.
They are only capable of processing text, not data states.
Challenge: Initialize ChatOpenAI
Solve the problem below.
You are building a creative writing assistant and need to initialize your first LangChain model.

Your task is to create a ChatOpenAI instance named my_llm with a temperature of 0.7 to allow for more creative (non-deterministic) responses.
Task
Write the Python code to import and initialize the model.
Solution:
from langchain_openai import ChatOpenAI
my_llm = ChatOpenAI(temperature=0.7)